//index.js
//获取应用实例
var app = getApp();
var util = require('../../utils/util.js');
var commonService = require('../../services/commonService.js');
var activityService = require('../../services/activityService.js');
var newsService = require('../../services/newsService.js');
Page({
  data: {
    winWidth: 0,
    winHeight: 0,
    currentTab: 0,
    newsType: 0,
    lives: 0,
    dat: '全部',
    dates: '全部',

    teamNumber: 0,
    volunteerNumber: 0,
    bannerUrls: [],
    //需要下拉瀑布流分页的数据，必须提供以下几个参数
    //当前页码数，每页显示条数（每次加载的新纪录条数）
    //是否还有更多数据可获取
    //承载结果数据的数据集对象
    activityPageIndex: 1,
    activityPageSize: 10,
    activityHasMore: true,
    activities: [],
    //上面的命名都加上了activity前缀，是因为可能在同一个页面里有多个下拉的列表，为了避免变量名冲突，所以要加上前缀，比如这个页面里，新闻和直播也一样存在下拉分页的问题

    newsPageIndex:1,
    newsPageSize:10,
    newsHasMore:true,
    news:[],
    
    PolicysListPageIndex:1,
    LocalListPageIndex:1,
    BuildingListPageIndex:1,

    policys: [],
    building: [],
    local: [],
    index: 0,
    userInfo: {},
    imgUrls: [],
    districtIndex: 0,
    districts: [],
    cityId: 0,
    currentCity: '',
    cityName:'定位中',
    
    shops: [],
    shopOpened: false,
    latitude: null,
    longitude: null,
    direct: [],
    condition: false
  },
  toShopDetail: function (e) {
    var that = this;
    wx.navigateTo({
      url: '../choice/choice?newsType=' + e.currentTarget.dataset.newstype +'&cityId='+ that.data.cityId
    });
  },
  toTail: function (e) {
    wx.navigateTo({
      url: '../city/city?newsType=' + e.currentTarget.dataset.newstype
    });
  },
  clickDetails: function (e) {
    wx.navigateTo({
      url: '../eventdetails/eventdetails?id='+e.currentTarget.dataset.id 
    });
  },
  dynamicDetails: function (e) {
    wx.navigateTo({
      url: '../policydetails/policydetails?id=' + e.currentTarget.dataset.id + '&newsType=' + this.data.newsType
    });
  },
  volunteerDetails: function (e) {
    wx.navigateTo({
      url: '../partydetails/partydetails?id=' + e.currentTarget.dataset.id + '&newsType=' + this.data.newsType
    });
  },
  localDetails: function (e) {
    wx.navigateTo({
      url: '../dynamidetails/dynamidetails?id=' + e.currentTarget.dataset.id + '&newsType=' + this.data.newsType
    });
  },
  directSeeding: function (e) {
    wx.navigateTo({
      url: '../livedetails/livedetails'
    });
  },
  onShow: function () {
    //之前的代码全部注释掉，这里是预留当切换城市之后回调数据
    var that = this;
    if (!app.globalData.currentCityId) {
      app.updateLocation(function(city){
        that.setData({
          activityPageIndex: 1,
          newsPageIndex: 1,
          cCityId: city.id,
          activityHasMore:true
        })
        that.initCityId();
        that.getActivities();
        that.getNewsList();
        that.getTeamAndVolunteerCount();
      });
    }
    if (app.globalData.currentCityId && that.data.cCityId != app.globalData.currentCityId){
      that.setData({
        activityPageIndex:1,
        newsPageIndex: 1,
        cCityId: app.globalData.currentCityId,
        activityHasMore: true
      })
      this.initCityId();
      this.getActivities();
      this.getNewsList();
      this.getTeamAndVolunteerCount();
    }
    if (app.globalData.newsType != undefined){
      that.setData({
        newsType: app.globalData.newsType
      })
      if (app.globalData.newsType == 0) {
        app.globalData.cityId = app.globalData.currentCityId;
        that.setData({
          PolicysListPageIndex: 1
        })
        this.getPolicysList();
      } else if (app.globalData.newsType == 1){
        app.globalData.cityId = app.globalData.currentCityId;
        that.setData({
          BuildingListPageIndex: 1
        })
        this.getBuildingList();
      } else if (app.globalData.newsType == 2) {
        app.globalData.selectTime =''
        that.setData({
          LocalListPageIndex: 1
        })
        this.getLocalList();
      }
    }
  },
  //根据cityId获得所有的时间
  getCityInfo: function (cityId) {
    var allAreas = getApp().globalData.cities;
    for (var i = 0; i < allAreas.length; i++) {
      if (allAreas[i].id == this.data.cityId) {
        return allAreas[i];
      }
    }
    return null;
  },
  getTeamAndVolunteerCount: function() {
    var that = this;
    activityService.getTeamAndVolunteerCount({
      cityId: app.globalData.currentCityId,
      success: function (resultData) {
        that.setData({
          teamNumber: resultData.team_count,
          volunteerNumber: resultData.volunteer_count,
        });
      }
    });
  },
  //为什么要用append作为参数
  //因为涉及到下拉继续加载数据，所以不用append的时候就是第一次加载数据
  //如果是后面继续下拉加载数据，则要在已有的activty数组后面继续加新获取的记录实现绑定
  getActivities: function(append) {
    var that = this;
    //是否继续加载，activityHasMore=false说明上一次查询之后没有获得更多数据了，因此不要再向服务器请求新的数据
    if (that.data.activityHasMore) {
      activityService.getActivityList({
        cityId: app.globalData.currentCityId,
        pageIndex: that.data.activityPageIndex,
        pageSize: that.data.activityPageSize,
        success: function (resultData) {
          var activities = [];
          
          if (append == 1) {
            activities = that.data.activities;
          }

          for (var i = 0; i < resultData.list.length; i++) {
            var data = resultData.list[i];
            // date.replace(/-/g, "/")
            data.start_time = util.makeDateTimeToPretty(new Date(data.active_time_start.replace(/-/g, "/")), true);
            data.end_time = util.makeDateTimeToPretty(new Date(data.active_time_end.replace(/-/g, "/")), true);
            data.remainJoinNum = data.volunteer_num - data.join_num;
            activities.push(resultData.list[i]);
          }

          that.setData({
            activities: activities,
            activityPageIndex: that.data.activityPageIndex + 1,
            activityHasMore: resultData.hasMore,
          });

        }
      });
    }
  },
  bindDistrictChange: function (e) {
    this.setData({
      districtIndex: e.detail.value
    });
    this.getShops();
  },
  //开关
  switch1Change: function (e) {
    console.log('switch1 发生 change 事件，携带值为', e.detail.value)
    this.setData({
      check: e.detail.value
    })
  },
  bindPickerChange: function (e) {
    console.log('picker发送选择改变，携带值为', e.detail.value)
    this.setData({
      today: e.detail.value
    })
  },
  //事件处理函数
  bindViewTap: function () {
    wx.navigateTo({
      url: '../logs/logs'
    })
  },
  initCityId: function () {
    var that = this
    activityService.getCityName({
      id: app.globalData.currentCityId,
      success:function(res){
        if(res){
          that.setData({
            cityName: res.name
          })
        }
      }
    })
  },
  getBannerData: function() {
    var that = this;
    commonService.getImages({
      cityId: app.globalData.currentCityId,
      imgType: 1,
      success: function (data) {
        that.setData({
          bannerUrls: data
        });
      }
    });
  },
  getNewsList: function (append) {
    var that = this;
    if (this.data.newsHasMore = 1) {
      newsService.getNewsList({
        cityId: app.globalData.cityId ? app.globalData.cityId:app.globalData.currentCityId,
        pageIndex: that.data.newsPageIndex,
        pageSize: that.data.newsPageSize,
        selectTime: app.globalData.selectTime,
        success: function (resultData) {
          var news = [];

          if (append == 1) {
            news = that.data.news;
          }

          for (var i = 0; i < resultData.list.length; i++) {
            var data = resultData.list[i];
            // date.replace(/-/g, "/")
            data.created_at = data.created_at.replace(/-/g, "/").split(' ');

            data.created_at = util.makeDateTimeToPrettyNoneDetail(new Date(data.created_at[0]), true);
            news.push(resultData.list[i]);
          }
          var policys = [];//政策动态
          var building = [];//志愿党建
          var local = [];//本地动态
          for (var j = 0; j < news.length;j++)
          {
            if(news[j].type == 1){
              policys.push(news[j]);
            } else if (news[j].type == 2){
              building.push(news[j])
            } else if (news[j].type == 3){
              local.push(news[j])
            }
          }
          that.setData({
            policys: policys,
            building: building,
            local: local
          });
        }
      });
    }
  },
  getPolicysList: function (append) {
    var that = this;
    if (this.data.newsHasMore =1) {
      newsService.getPolicysList({
        cityId: app.globalData.cityId,
        pageIndex: that.data.PolicysListPageIndex,
        pageSize: that.data.newsPageSize,
        selectTime: app.globalData.selectTime,
        success: function (resultData) {
          var policys = [];

          if (append == 1) {
            policys = that.data.policys;
          }

          for (var i = 0; i < resultData.list.length; i++) {
            var data = resultData.list[i];
            // date.replace(/-/g, "/")
            data.created_at = data.created_at.replace(/-/g, "/").split(' ');

            data.created_at = util.makeDateTimeToPrettyNoneDetail(new Date(data.created_at[0]), true);
            policys.push(resultData.list[i]);
          }
          that.setData({
            policys: policys,
            PolicysListPageIndex: that.data.PolicysListPageIndex+1
          });
        }
      });
    }
  },
  getBuildingList: function (append) {
    var that = this;
    if (this.data.newsHasMore =1 ) {
      newsService.getBuildingList({
        cityId: app.globalData.cityId,
        pageIndex: that.data.BuildingListPageIndex,
        pageSize: that.data.newsPageSize,
        selectTime: app.globalData.selectTime,
        success: function (resultData) {
          var building = [];

          if (append == 1) {
            building = that.data.building;
          }

          for (var i = 0; i < resultData.list.length; i++) {
            var data = resultData.list[i];
            // date.replace(/-/g, "/")
            data.created_at = data.created_at.replace(/-/g, "/").split(' ');

            data.created_at = util.makeDateTimeToPrettyNoneDetail(new Date(data.created_at[0]), true);
            building.push(resultData.list[i]);
          }
          that.setData({
            building: building,
            BuildingListPageIndex: that.data.BuildingListPageIndex+1
          });
        }
      });
    }
  },
  getLocalList: function (append) {
    var that = this;
    if (this.data.newsHasMore =1) {
      newsService.getLocalList({
        cityId: app.globalData.cityId ? app.globalData.cityId: app.globalData.currentCityId,
        pageIndex: that.data.LocalListPageIndex,
        pageSize: that.data.newsPageSize,
        success: function (resultData) {
          var local = [];

          if (append == 1) {
            local = that.data.local;
          }

          for (var i = 0; i < resultData.list.length; i++) {
            var data = resultData.list[i];
            // date.replace(/-/g, "/")
            data.created_at = data.created_at.replace(/-/g, "/").split(' ');

            data.created_at = util.makeDateTimeToPrettyNoneDetail(new Date(data.created_at[0]), true);
            local.push(resultData.list[i]);
          }
          that.setData({
            local: local,
            LocalListPageIndex: that.data.LocalListPageIndex+1
          });
        }
      });
    }
  },
  onLoad: function (opt) {
    var that = this;
    var today = new Date();
    var cityId = opt.cityId || 0;
    that.setData({
      cityId : cityId
    })
    //var currentDate = today.
    wx.getSystemInfo({
      success: function (res) {
        that.setData({
          winWidth: res.windowWidth,
          winHeight: res.windowHeight,
          cCityId: app.globalData.currentCityId
        });
      }
    });
    if (app.globalData.currentCityId == 0) {
      this.naviToSelectCity();
    }
    this.initCityId();
    this.getBannerData();
    // this.setData({
    //   policys: [{
    //     'id': 1,
    //     'subject': '国务院正在出台子女赡养老年人强制性法案',
    //     'date': '12月16日',
    //     'formats': '12',
    //     'is_read': 0,
    //   }, {
    //     'id': 2,
    //     'subject': '国侨办已出台海外华侨在内地养老细则',
    //     'date': '12月11日',
    //     'formats': '12',
    //     'is_read': 0,
    //   }, {
    //     'id': 3,
    //     'subject': '养老保险面临重大政策突破',
    //     'date': '11月16日',
    //     'formats': '11',
    //     'is_read': 0,
    //   }, {
    //     'id': 4,
    //     'subject': '卫计委计划在全国所有三甲医院实施',
    //     'date': '9月16日',
    //     'formats': '09',
    //     'is_read': 0,
    //   }, {
    //     'id': 5,
    //     'subject': '国务院拟出台一批重大法规突破民营养老困局',
    //     'date': '8月16日',
    //     'formats': '08',
    //     'is_read': 1,
    //   }, {
    //     'id': 6,
    //     'subject': '国务院正在出台子女赡养老年人强制性法案',
    //     'date': '8月16日',
    //     'formats': '08',
    //     'is_read': 1,
    //   }, {
    //     'id': 7,
    //     'subject': '广东省开启养老保险跨省切换',
    //     'date': '7月16日',
    //     'formats': '07',
    //     'is_read': 1,
    //   }, {
    //     'id': 8,
    //     'subject': '国务院正在出台子女赡养老年人强制性法案',
    //     'date': '8月16日',
    //     'formats': '08',
    //     'is_read': 1,
    //   }],
    //   building: [{
    //     'id': 1,
    //     'subject': '国务院正在出台子女赡养老年人强制性法案',
    //     'date': '12月16日',
    //     'formats': '12',
    //     'is_read': 0,
    //   }, {
    //     'id': 2,
    //     'subject': '国侨办已出台海外华侨在内地养老细则',
    //     'date': '12月11日',
    //     'formats': '12',
    //     'is_read': 0,
    //   }, {
    //     'id': 3,
    //     'subject': '养老保险面临重大政策突破',
    //     'date': '11月16日',
    //     'formats': '11',
    //     'is_read': 0,
    //   }, {
    //     'id': 4,
    //     'subject': '卫计委计划在全国所有三甲医院实施',
    //     'date': '9月16日',
    //     'formats': '09',
    //     'is_read': 0,
    //   }, {
    //     'id': 5,
    //     'subject': '国务院拟出台一批重大法规突破民营养老困局',
    //     'date': '8月16日',
    //     'formats': '08',
    //     'is_read': 1,
    //   }, {
    //     'id': 6,
    //     'subject': '国务院正在出台子女赡养老年人强制性法案',
    //     'date': '8月16日',
    //     'formats': '08',
    //     'is_read': 1,
    //   }, {
    //     'id': 7,
    //     'subject': '广东省开启养老保险跨省切换',
    //     'date': '7月16日',
    //     'formats': '07',
    //     'is_read': 1,
    //   }, {
    //     'id': 8,
    //     'subject': '国务院正在出台子女赡养老年人强制性法案',
    //     'date': '8月16日',
    //     'formats': '08',
    //     'is_read': 1,
    //   }],
    //   local: [{
    //     'id': 1,
    //     'subject': '国务院正在出台子女赡养老年人强制性法案',
    //     'date': '12月16日',
    //     'formats': '12',
    //     'is_read': 0,
    //     'is_city': '武汉',
    //   }, {
    //     'id': 2,
    //     'subject': '国侨办已出台海外华侨在内地养老细则',
    //     'date': '12月11日',
    //     'formats': '12',
    //     'is_read': 0,
    //     'is_city': '北京',
    //   }, {
    //     'id': 3,
    //     'subject': '养老保险面临重大政策突破',
    //     'date': '11月16日',
    //     'formats': '11',
    //     'is_read': 0,
    //     'is_city': '武汉',
    //   }, {
    //     'id': 4,
    //     'subject': '卫计委计划在全国所有三甲医院实施',
    //     'date': '9月16日',
    //     'formats': '09',
    //     'is_read': 0,
    //     'is_city': '武汉',
    //   }, {
    //     'id': 5,
    //     'subject': '国务院拟出台一批重大法规突破民营养老困局',
    //     'date': '8月16日',
    //     'formats': '08',
    //     'is_read': 1,
    //     'is_city': '上海',
    //   }, {
    //     'id': 6,
    //     'subject': '国务院正在出台子女赡养老年人强制性法案',
    //     'date': '8月16日',
    //     'formats': '08',
    //     'is_read': 1,
    //     'is_city': '武汉',
    //   }, {
    //     'id': 7,
    //     'subject': '广东省开启养老保险跨省切换',
    //     'date': '7月16日',
    //     'formats': '07',
    //     'is_read': 1,
    //     'is_city': '广州',
    //   }, {
    //     'id': 8,
    //     'subject': '国务院正在出台子女赡养老年人强制性法案',
    //     'date': '8月16日',
    //     'formats': '08',
    //     'is_read': 1,
    //     'is_city': '江苏',
    //   }],
    //   direct: [{
    //     'id': 1,
    //     'title': "青年生态林建设",
    //     'imageurl': '../../images/live/live01.jpg',
    //     'is_have': 1,
    //     'starttime': '2017年1月21日',
    //     'endtime': '2017年1月23日',
    //   }, {
    //     'id': 2,
    //     'title': "青年生态林建设",
    //     'imageurl': '../../images/live/live02.jpg',
    //     'is_have': 1,
    //     'starttime': '2017年1月24日',
    //     'endtime': '2017年1月26日',
    //   }, {
    //     'id': 3,
    //     'title': "青年生态林建设",
    //     'imageurl': '../../images/live/live03.jpg',
    //     'is_have': 1,
    //     'starttime': '2017年2月1日',
    //     'endtime': '2017年2月3日',
    //   }, {
    //     'id': 4,
    //     'title': "青年生态林建设",
    //     'imageurl': '../../images/live/live04.jpg',
    //     'is_have': 1,
    //     'starttime': '2017年2月5日',
    //     'endtime': '2017年2月8日',
    //   }, {
    //     'id': 5,
    //     'title': "青年生态林建设",
    //     'imageurl': '../../images/live/live05.jpg',
    //     'is_have': 1,
    //     'starttime': '2017年2月21日',
    //     'endtime': '2017年2月23日',
    //   }, {
    //     'id': 6,
    //     'title': "青年生态林建设",
    //     'imageurl': '../../images/live/live06.jpg',
    //     'is_have': 1,
    //     'starttime': '2017年2月24日',
    //     'endtime': '2017年2月26日',
    //   }, {
    //     'id': 7,
    //     'title': "青年生态林建设",
    //     'imageurl': '../../images/live/live07.jpg',
    //     'is_follow': 1,
    //     'starttime': '2017年3月1日',
    //     'endtime': '2017年3月3日',
    //   }, {
    //     'id': 8,
    //     'title': "青年生态林建设",
    //     'imageurl': '../../images/live/live08.jpg',
    //     'is_follow': 1,
    //     'starttime': '2017年3月6日',
    //     'endtime': '2017年3月8日',
    //   }]
    // });
  },
  switchNav: function (e) {
    var that = this;
    if (this.data.currentTab === e.currentTarget.dataset.current) {
      return false;
    } else {
      that.setData({
        currentTab: e.currentTarget.dataset.current
      })
    }
  },
  switchNews: function (e) {
    console.log(e.currentTarget.dataset.newsType)
    var that = this;
    if (this.data.newsType === e.currentTarget.dataset.newsType) {
      return false;
    } else {
      that.setData({
        newsType: e.currentTarget.dataset.newsType
      })
    }
  },
  liveClick: function (e) {
    var that = this;
    if (this.data.lives === e.currentTarget.dataset.live) {
      return false;
    } else {
      that.setData({
        lives: e.currentTarget.dataset.live
      })
    }
  },
  releaseActivity: function (e) {
    this.getActivities(1);
  },
  releasePolicysList: function (e) {
    this.getPolicysList(1);
  },
  releaseBuildingList: function (e) {
    this.getBuildingList(1);
  },
  releaseLocalList: function (e) {
    this.getLocalList(1);
  },
  selectCity:function(e){
    wx.navigateTo({
      url: '../switchcity/switchcity',
    })
  }
})

